A communication system may provide the user, or more precisely, user equipment or terminal, with connection-oriented communication services and/or connectionless communication services. An example of the first type is a circuit switched connection where a circuit is set-up with call set-up and admission control. An example of a connectionless communication service is a so called packet switched service which is typically used in communications based on the Internet Protocol (IP). Both of the circuit switched and the packet switched services can be used for communicating packet data. Packet data services can be defined in general as services that are capable of transporting data units (data packets or similar data entities of fixed or variable length) between two signalling points, such as between two terminals or other nodes of the communication system.
A network that is capable of transporting data units or data entities between two or more nodes is referred to in the following as a data network. The data network may be a communication network based on use of a fixed line or wireless communication media. The wireless connection may be used only for a part of the connection between the two nodes. A TCP/IP (Transfer Control Protocol/Internet Protocol) based data network is mentioned herein as an example of a packet switched data network. An ATM (Asynchronous Transfer Mode) based communication network is an example of a circuit switched data network to which embodiments of the invention could also be applied. Examples of communication networks that are capable of providing wireless services, such as IP (Internet Protocol) or ATM/AAL2 (Asynchronous Transfer Mode/ATM Adaptation Layer type 2) based packet data transmissions, include, without limiting to these, the GSM (Global System for Mobile communications) based GPRS (General Packet Radio Service) network, EDGE (enhanced data rate for GSM evolution) Mobile Data Network and third generation telecommunication systems such as the CDMA (code division multiple access) or TDMA (time division multiple access) based 3rd generation telecommunication systems that are sometimes referred to as Universal Mobile Telecommunication System (UMTS), and IMT 2000 (International Mobile Telecommunication System 2000). All of the above systems can transfer data to and from mobile stations or similar user equipment providing the user thereof with a wireless interface for the data transmission.
Communication traffic can become congested at network nodes if the data is received at a node at a rate greater than the maximum data throughput rate of that node. Typically, congestion occurs at a node when the node has a lower data throughput rate than the node which precedes it in the same direction of flow. Similarly, congestion occurs when a node receives data from a plurality of data sources and the sum of the input data rates exceeds the data throughput rate of the node.
Traffic congestion control is thus an important consideration in communications networks. One method of network management which may be suitable for use in future networks is so called policy-enabled networking. An example of the policy-enabled networking is Quality of Service (QoS) provisioning using the so called ‘DiffServ’ architecture. ‘DiffServ’ refers to the IP Differentiated Service architecture, where QoS provisioning is obtained by marking data units. Different marked packets will receive a different priority in queuing and/or scheduling of nodes (so-called Per-hop-behaviour).
Network nodes can comprise buffers for storing received data before it is distributed further in the direction of data flow. Packet loss occurs for example whenever the buffers are over filled. One proposed buffer management technique is referred to as the “Drop Tail” technique according to which packets arriving at a full buffer are dropped. A number of variations of the “Drop Tail” technique have also been proposed. An example of such a variation is the “Drop front” technique in which packets are dropped at the start of the buffer when they arrive at a full buffer. An example of another approach is the “Random Early Drop” (RED) technique in which all arriving packets are dropped with a fixed probability if the queue length of the buffer exceeds a predetermined threshold. A problem with proposed congestion control techniques is that packet losses are generally incurred before the congestion is brought under control.
For example, communication networks employing transfer control protocol (TCP) manage traffic congestion by allocating congestion windows of various sizes to senders. These congestion windows are used to limit the transmission rate by varying their size. When a connection is established, the congestion window allocation policy permits the user to increase transmission rate rapidly by doubling the congestion window size (and thus also transmission rate) every round trip period. Transfer control protocol resources monitor the congestion window size having regard to a threshold window size. When the congestion window size reaches this threshold, the window size is increased at a much slower rate, for example by one window segment every round trip period. A problem with such congestion control schemes is that transmission rate is decreased only after packet losses are detected. The lost packets are in general replaced by re-transmission, causing delays and using network resources for data which has already been transmitted.
FIG. 1 shows a known network node 20. The node 20 comprises buffer circuitry 22 and an associated controller 24. For the sake of clarity, FIG. 1 shows packet transfer in a downlink direction only. However, a skilled person will appreciate that buffers can also provide for packet transfer in an uplink direction. It will also be evident that packets may be received from and/or distributed to respective pluralities of nodes on either side of the node 20 shown in FIG. 1. Each received packet 26 is stored within the buffer 22 of the node 20 until it can be output. In general, temporary storage gives the control circuitry time to access routing information within or appended to the packet and/or to ensure the next network node can receive the packet. Packets may be sorted and or multiplexed by the control circuitry 24. Packets 28 output from the node 20 are sent in a downlink direction towards the next node or user equipment.
If the throughput rate of the node 20 is high relative to the rate of receipt of packets then the packets spend only a short time in the buffer 22. However, when the aggregate transmission rate of the incoming packets 26 exceeds the throughput capacity of the node 20 queues build up in the buffer and the packets are delayed in the buffer 22. If the rate of packet receipt continues to exceed the rate of packet throughput the buffer may overflow. Random early detection (RED) can detect traffic congestion in buffers early and convey congestion notification to senders so that they can reduce transmission rate. To this end the random early detection technique monitors an exponentially weighted moving average of buffer queue length. When the average queue length exceeds a minimum queue length threshold EDLmin, but remains below a maximum queue length threshold EDLmax, packets are randomly dropped (or marked with an explicit congestion notifier). On recognition that packets have been dropped (or on receipt of such a notifier) the sender can reduce transmission rate with a view to relieving congestion in the buffer. When the average queue length exceeds the maximum queue length threshold EDLmax all packets are dropped (or marked).
Although random early detection represents one way of relieving traffic congestion in buffers it is not an ideal solution. For example, when random early detection is used in conjunction with a packet drop strategy it suffers significant packet losses. When used in conjunction with congestion notifiers, random early detection can cause the sender to reduce transmission rates to such an extent that network resources are under used. Further, random early detection does not differentiate between different flows or different classes of flows nor take any account of the number of connections. These factors can all effect the rate of change of queue lengths and thus queue lengths managed using the RED technique are prone to oscillate in length.
In random early detection techniques the threshold buffer occupancy levels at which packet discarding begins are fixed and may only be varied by reconfiguring the system. That is, these threshold levels do not take into account network conditions.
Moreover, proposed congestion management techniques tend to drop packets randomly, without taking into account the importance of the information contained therein.
In a wireless network, congestion is a normal problem, as these networks connect a slow radio link to a high speed backbone. The radio link is slow as the capacity is limited and fluctuating, i.e. a decrease in radio link quality triggers an increased number of retransmission (for Non-real time) and/or a higher protection (ie more redundant bits over the radio) of the data sent. On the contrary, connection to external data network such as the internet can be done at very high speed. Therefore, in a wireless network, the congestion naturally occurs in the network element where the high speed backbone meets the slow radio link. Particular examples of these NE are the 2G SGSN which is flow controlled from BSC, but has no mean to flow control GGSN, and the RNC which receives data from 3G SGSN through the Iu interface, but cannot flow control this one.
Another interesting aspect of the wireless system is the possibility to negotiate QoS across the system, in particular a maximum throughput for one mobile flow (PDP context in GPRS/UMTS term) is negotiated and is enforced (using policing and shaping) for downlink packets at the gateway node (GGSN). In the case of a radio network controller, the maximum throughput of non real-time traffic on a link to a mobile will be negotiated so as to be as close as possible to the maximum capability of the mobile station. However as network loading increases, and/or quality of service decreases, the rate of throughput of the radio network controller becomes lower for this mobile, but still the GGSN forward all downlink packets (up to a maximum throughput much higher than the possible throughput on the loaded radio) as it does not receive any indication of the radio condition. A consequence is that the radio network controller can become flooded with packets, some of which are lost within it. Thus network resources are wasted and the network node, in this example the radio network controller can become unstable.